<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="Content-Language" content="zh-CN"><title>systemd-escape
  中文手册 [金步国]</title><style>
@font-face { font-family: "JinBuGuoWebMono"; src: url("http://www.jinbuguo.com/d/mono.ttf") format("truetype"); }
* { font-family: "JinBuGuoWebMono", "Ubuntu Mono", "Consolas", "Menlo", monospace; }
body { margin:10px; }
h1 { text-align:center; background:#ddd; }
h2#auth_name { text-align:center; margin: 10px 5%; }

    a.headerlink {
      color: #c60f0f;
      font-size: 0.8em;
      padding: 0 4px 0 4px;
      text-decoration: none;
      visibility: hidden;
    }

    a.headerlink:hover {
      background-color: #c60f0f;
      color: white;
    }

    h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
      visibility: visible;
    }
</style><script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?d286c55b63a3c54a1e43d10d4c203e75"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><h1>systemd-escape 中文手册</h1><h2 id="auth_name">译者：<strong><a href="../index.html">金步国</a></strong></h2><hr><h3>版权声明</h3><p>本文译者是一位开源理念的坚定支持者，所以本文虽然不是软件，但是遵照开源的精神发布。</p><ul><li>无担保：本文译者不保证译文内容准确无误，亦不承担任何由于使用此文档所导致的损失。</li><li>自由使用：任何人都可以自由的<u>阅读/链接/打印</u>此文档，无需任何附加条件。</li><li>名誉权：任何人都可以自由的<u>转载/引用/再创作</u>此文档，但必须保留译者署名并注明出处。</li></ul><h3>其他作品</h3><p>本文译者十分愿意与他人分享劳动成果，如果你对我的其他翻译作品或者技术文章有兴趣，可以在如下位置查看现有的作品集：</p><ul><li><a href="../index.html">金步国作品集</a> [ <a href="../index.html">http://www.jinbuguo.com/</a> ]</li></ul><h3>联系方式</h3><p>由于译者水平有限，因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好)，请来信指出，任何提高译文质量的建议我都将虚心接纳。</p><ul><li>Email(QQ)：70171448在QQ邮箱</li></ul><hr><a href="systemd.index.html">手册索引</a> ·
  <a href="systemd.directives.html">指令索引</a><span style="float:right">systemd-241</span><hr><div class="refentry"><a name="systemd-escape"></a><div class="titlepage"></div><div class="refnamediv"><h2>名称</h2><p>systemd-escape — 转义与还原单元名称中的特殊字符</p></div><div class="refsynopsisdiv"><h2>大纲</h2><div class="cmdsynopsis"><p><code class="command">systemd-escape</code>  [OPTIONS...] [STRING...]</p></div></div><div class="refsect1"><a name="id-1.5"></a><h2 id="描述">描述<a class="headerlink" title="Permalink to this headline" href="systemd-escape.html#%E6%8F%8F%E8%BF%B0">¶</a></h2><p><span class="command"><strong>systemd-escape</strong></span> 可用于
    转义单元名称中的特殊字符，
    也可用于还原操作。</p><p>可以在命令行上指定任意数量的字符串，
    表示依次分别处理它们。
    处理结果将使用空格分隔。</p><p>默认的行为是转义操作，
    但若使用了 <code class="option">--unescape</code> 选项，
    则表示反向的还原操作。如果使用了 <code class="option">--mangle</code> 选项，
    则会使用一种特殊的转义规则，
    也就是假定字符串已经经过了转义，
    仅转义那些显而易见必须转义的字符。</p><p>关于转义与还原算法的细节，参见
    <a href="systemd.unit.html#"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a> 手册。</p></div><div class="refsect1"><a name="id-1.6"></a><h2 id="选项">选项<a class="headerlink" title="Permalink to this headline" href="systemd-escape.html#%E9%80%89%E9%A1%B9">¶</a></h2><p>能够识别的命令行选项如下：</p><div class="variablelist"><dl class="variablelist"><dt id="--suffix="><span class="term"><code class="option">--suffix=</code></span><a class="headerlink" title="Permalink to this term" href="systemd-escape.html#--suffix=">¶</a></dt><dd><p>在输出结果尾部添加一个单元类型后缀。
        必须是
        "<code class="literal">service</code>" 或
        "<code class="literal">mount</code>" 这样实际有效的后缀。不能与
        <code class="option">--template=</code>, <code class="option">--unescape</code> ,
        <code class="option">--mangle</code> 选项一起使用。</p></dd><dt id="--template="><span class="term"><code class="option">--template=</code></span><a class="headerlink" title="Permalink to this term" href="systemd-escape.html#--template=">¶</a></dt><dd><p>将转义之后的结果插入一个单元名称模版。
        接受一个类似
        <code class="filename">foobar@.service</code> 这样的模版名。但与
        <code class="option">--unescape</code> 一起使用时，
        则接受此模板实例化之后的单元名称，并仅提取和还原实例化的部分。
        不能与
        <code class="option">--suffix=</code>,
        <code class="option">--instance</code>,
        <code class="option">--mangle</code> 选项一起使用。</p></dd><dt id="--path"><span class="term"><code class="option">--path</code>, </span><span class="term"><code class="option">-p</code></span><a class="headerlink" title="Permalink to this term" href="systemd-escape.html#--path">¶</a></dt><dd><p>在转义或还原字符串时，假定其是一个文件系统路径。
        这将导致删除字符串中的开头/结尾/重复的 "<code class="literal">/</code>" 字符、 "<code class="literal">.</code>" 与
        "<code class="literal">..</code>" 字符。
        特别适合于生成可被单元文件中的 "<code class="literal">%f</code>" 替换符还原的字符串。参见
        <a href="systemd.unit.html#"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a> 手册。
        </p></dd><dt id="--unescape"><span class="term"><code class="option">--unescape</code>, </span><span class="term"><code class="option">-u</code></span><a class="headerlink" title="Permalink to this term" href="systemd-escape.html#--unescape">¶</a></dt><dd><p>将已经转义过的字符串还原。
        不能与
        <code class="option">--suffix=</code> 或
        <code class="option">--mangle</code> 选项一起使用。</p></dd><dt id="--mangle"><span class="term"><code class="option">--mangle</code>, </span><span class="term"><code class="option">-m</code></span><a class="headerlink" title="Permalink to this term" href="systemd-escape.html#--mangle">¶</a></dt><dd><p>与 <code class="option">--escape</code> 类似，
        但是仅转义那些显而易见必须转义的字符，
        并且允许自动添加适当的单元类型后缀。
        不能与
        <code class="option">--suffix=</code>, <code class="option">--template=</code>,
        <code class="option">--unescape</code> 选项一起使用。</p></dd><dt id="--instance"><span class="term"><code class="option">--instance</code></span><a class="headerlink" title="Permalink to this term" href="systemd-escape.html#--instance">¶</a></dt><dd><p>用于 <code class="option">--unescape</code> 选项，
        表示只还原与显示一个实例化单元名称中的实例参数。
        用于尚未实例化的模板(例如
         <code class="filename">ssh@.service</code>)或非实例化单元(例如
         <code class="filename">ssh.service</code>)会导致出错。
        必须和 <code class="option">--unescape</code> 一起使用，
        禁止与
        <code class="option">--template</code> 一起使用。</p></dd><dt id="-h"><span class="term"><code class="option">-h</code>, </span><span class="term"><code class="option">--help</code></span><a class="headerlink" title="Permalink to this term" href="systemd-escape.html#-h">¶</a></dt><dd><p><a name="help-text"></a>显示简短的帮助信息并退出。
    </p></dd><dt id="--version"><span class="term"><code class="option">--version</code></span><a class="headerlink" title="Permalink to this term" href="systemd-escape.html#--version">¶</a></dt><dd><p><a name="version-text"></a>显示简短的版本信息并退出。</p></dd></dl></div></div><div class="refsect1"><a name="id-1.7"></a><h2 id="例子">例子<a class="headerlink" title="Permalink to this headline" href="systemd-escape.html#%E4%BE%8B%E5%AD%90">¶</a></h2><p>转义一个字符串</p><pre class="programlisting">$ systemd-escape 'Hallöchen, Meister'
Hall\xc3\xb6chen\x2c\x20Meister</pre><p>还原一个字符串</p><pre class="programlisting">$ systemd-escape -u 'Hall\xc3\xb6chen\x2c\x20Meister'
Hallöchen, Meister</pre><p>为一个路径生成对应的单元名</p><pre class="programlisting">$ systemd-escape -p --suffix=mount "/tmp//waldi/foobar/"
tmp-waldi-foobar.mount</pre><p>从三个字符串派生三个对应的单元实例名</p><pre class="programlisting">$ systemd-escape --template=systemd-nspawn@.service 'My Container 1' 'containerb' 'container/III'
systemd-nspawn@My\x20Container\x201.service systemd-nspawn@containerb.service systemd-nspawn@container-III.service</pre><p>从实例化单元中提取实例参数：</p><pre class="programlisting">$ systemd-escape -u --instance 'systemd-nspawn@My\x20Container\x201.service'
My Container 1</pre><p>从特定模板的实例化单元中提取实例参数：</p><pre class="programlisting">$ systemd-escape -u --template=systemd-nspawn@.service 'systemd-nspawn@My\x20Container\x201.service'
My Container 1</pre></div><div class="refsect1"><a name="id-1.8"></a><h2 id="退出状态">退出状态<a class="headerlink" title="Permalink to this headline" href="systemd-escape.html#%E9%80%80%E5%87%BA%E7%8A%B6%E6%80%81">¶</a></h2><p>返回值为 0 表示成功，
    非零返回值表示失败代码。</p></div><div class="refsect1"><a name="id-1.9"></a><h2 id="参见">参见<a class="headerlink" title="Permalink to this headline" href="systemd-escape.html#%E5%8F%82%E8%A7%81">¶</a></h2><p>
      <a href="systemd.html#"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
      <a href="systemd.unit.html#"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>,
      <a href="systemctl.html#"><span class="citerefentry"><span class="refentrytitle">systemctl</span>(1)</span></a>
    </p></div></div></body></html>
